Location Assessment System for Drones

ABSTRACT

A system for locating unmanned mobile connected objects, such as, but not limited to, unmanned aerial vehicles (UAVs), such as, but not limited to drones, and unmanned ground vehicles (UGVs) is disclosed. The system may be configured such that information associated with a UAV is received and searched, and one or more unpredictable variables in a physical environment surrounding the UAV are identified based on searching the information. A revised travel route may then be calculated based on the unpredictable variable(s) and the revised travel route may be transmitted to the UAV.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims priority to, U.S. patent application Ser. No. 14/974,235, filed Dec. 18, 2015, entitled “Location Assessment System for Drones,” the entire contents of which are hereby incorporated herein by reference.

FIELD OF THE INVENTION

The present application relates to route-optimization technologies, drone technologies, and device management technologies, and more particularly, to a system and method for locating drones.

BACKGROUND

More and more drones are being used today for military applications, aerial photography and the like. Currently, drones include unmanned objects such as unmanned aerial vehicles and unmanned ground vehicles. Currently, each drone is controlled via a single controller and is deployed on a mission. If a drone becomes unresponsive, the controller of that drone is aware that a problem has occurred and that the drone may have been destroyed. The knowledge of the demise of the single drone is typically held by the controller of that drone and no one else. As the use of drones becomes more prevalent, the number of drones operating at any given time will likely to be ever increasing. Similarly, as companies, organizations, defense forces and the like accumulate ever increasing fleets of drones, the task of accounting for each of these drones with single controllers becomes increasing more difficult.

SUMMARY

A system, method, and computer program product for locating unmanned mobile connected objects, such as, but not limited to, unmanned aerial vehicles (UAVs), such as, but not limited to drones, and unmanned ground vehicles (UGVs) is disclosed. In an embodiment, information associated with an unmanned mobile connected object may be received, the information associated with the unmanned mobile connected object may be searched (e.g., by a user device), and one or more unpredictable variables in a physical environment surrounding the unmanned mobile connected object may be identified based on searching the information. In some embodiments, the information associated with the unmanned mobile connected object may be searched for one or more anomalies (e.g., air turbulence, a flock of birds, a plane crash, a disaster area, an interference with a flight path, etc.). In some embodiments, a notification may be sent to the unmanned mobile object in response to the identification of the unpredictable variable(s). Moreover, a revised travel route may be calculated based on the unpredictable variable(s) in the physical environment surrounding the unmanned mobile connected object and the revised travel route may be transmitted to the unmanned mobile connected object. In some embodiments, the revised travel route may be optimized (e.g., based on one or more previously traveled routes, speed, time, and other factors). Moreover, the revised travel route may be sent to one or more other unmanned mobile connected objects.

In some embodiments, a command center may communicate with the unmanned mobile connected objects through a primary communications network. The command center may contact unmanned mobile connected objects not in primary contact with the command center via the primary communication network via hopping through one or more unmanned mobile connected objects. As such, the command center may remain in contact with unmanned mobile connected objects outside of primary communication network, such as, but not limited to, cellular signal radio frequencies. The command center may be configured to identify current locations of unmanned mobile connected objects, predict future locations of unmanned mobile connected objects, predict and prevent collisions of unmanned mobile connected objects, identify unpredictable variables, such as, but not limited to, plane crashes, disaster areas, cranes interfering with flight paths and no-fly zones and search for unmanned mobile connected objects even if there is no radio signal coverage or in situations when radio signals are inactive, such as during disasters or in emergency situations.

The system for locating unmanned mobile connected objects may include a communications network. The communications network of the system may be configured to link each of the devices in the system to one another. For example, the communications network may be utilized to connect a command center with one or more unmanned mobile connected objects. The command center may be any component capable of performing the analyses discussed herein. In at least one device, the command center may be a portion of the communications network. The command center may be a standalone device, a first user device, a second user device, a server or any other device. The communications network may be utilized by a first user device to connect with other devices within or outside communications network. Additionally, the communications network may be configured to transmit, generate, and receive any information and data traversing the system. In certain embodiments, the communications network may include any number of servers, databases, or other componentry, and may be controlled by a service provider. In certain embodiments, the communications network may be subscribed to by a company, first and second users or a combination thereof.

The system may include memory for storing computer instructions and one or more processors coupled with the memory. The one or more processors may, responsive to executing the computer instructions, perform operations. The operations may include receiving information associated with an unmanned mobile connected object, searching the information associated with the unmanned mobile connected object (e.g., by a user device), and identifying one or more unpredictable variables in a physical environment surrounding the unmanned mobile connected object based on searching the information. In some embodiments, the operations may include searching the information associated with the unmanned mobile connected object for one or more anomalies (e.g., air turbulence, a flock of birds, a plane crash, a disaster area, an interference with a flight path, etc.). In some embodiments, the operations may include transmitting a notification to the unmanned mobile object in response to the identification of the unpredictable variable(s). Moreover, the operations may include calculating a revised travel route based on the unpredictable variable(s) in the physical environment surrounding the unmanned mobile connected object and transmitting the revised travel route to the unmanned mobile connected object. In some embodiments, the operations may include optimizing the revised travel route (e.g., based on one or more previously traveled routes, speed, time, and other factors). Moreover, the operations may include transmitting the revised travel route to one or more other unmanned mobile connected objects.

According to another embodiment, a tangible computer-readable medium may include computer-executable instructions, which when executed by a computer, may cause the computer to perform operations. The operations may include receiving information associated with an unmanned mobile connected object, searching the information associated with the unmanned mobile connected object (e.g., by a user device), and identifying one or more unpredictable variables in a physical environment surrounding the unmanned mobile connected object based on searching the information. In some embodiments, the operations may include searching the information associated with the unmanned mobile connected object for one or more anomalies (e.g., air turbulence, a flock of birds, a plane crash, a disaster area, an interference with a flight path, etc.). In some embodiments, the operations may include transmitting a notification to the unmanned mobile object in response to the identification of the unpredictable variable(s). Moreover, the operations may include calculating a revised travel route based on the unpredictable variable(s) in the physical environment surrounding the unmanned mobile connected object and transmitting the revised travel route to the unmanned mobile connected object. In some embodiments, the operations may include optimizing the revised travel route (e.g., based on one or more previously traveled routes, speed, time, and other factors). Moreover, the operations may include transmitting the revised travel route to one or more other unmanned mobile connected objects.

These and other embodiments are described in more detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part of the specification, illustrate embodiments of the system for locating unmanned mobile connected objects and, together with the description, disclose the principles of the systems and methods discloses herein.

FIG. 1 is a schematic diagram of a system locating unmanned mobile connected objects, such as, but not limited to, unmanned aerial vehicles, such as, but not limited to drones, and unmanned ground vehicles, according to an embodiment of the present disclosure.

FIG. 2 is a neighbouring chart usable in the system for collecting information related to the unmanned mobile connected objects.

FIG. 3 is flow diagram illustrating a sample method for locating unmanned mobile connected objects.

FIG. 4 is flow diagram illustrating another method for locating unmanned mobile connected objects.

FIG. 5 is a schematic diagram of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies or operations of the systems and methods for locating unmanned mobile connected objects.

FIG. 6 is a schematic diagram of a system locating unmanned mobile connected objects, such as, but not limited to, unmanned aerial vehicles, such as, but not limited to drones, and unmanned ground vehicles, according to an embodiment of the present disclosure.

FIG. 7 is a graphical representation of a plot of unmanned mobile connected objects calculated by the command center with information from one or more neighboring tables.

DETAILED DESCRIPTION OF THE INVENTION

As shown in FIGS. 1-7, a system 100 for locating unmanned mobile connected objects 110, such as, but not limited to, unmanned aerial vehicles (UAVs) 120, such as, but not limited to drones, and unmanned ground vehicles (UGVs) 130 is disclosed. The system 100 may be configured such that an unmanned mobile connected object 110 may populate a neighboring table 140 with information such as geolocation, cell signal strength, status and the like. The neighboring table 140 may be shared with a network 150 and other unmanned mobile connected objects 110. A command center 125 may contact the unmanned mobile connected objects 110 through one or more primary communications networks 150. The command center 125 may contact unmanned mobile connected objects 110 not in primary contact with the primary communications network 150 via hopping through one or more unmanned mobile connected objects 110. As such, the command center 125 may remain in contact with unmanned mobile connected objects 110 outside of primary communications, such as, but not limited to, cellular signal radio frequencies. The command center 125 may be configured to identify current locations of unmanned mobile connected objects 110, predict future locations of unmanned mobile connected objects 110, predict and prevent collisions of unmanned mobile connected objects 110, identify unpredictable variables, such as, but not limited to, plane crashes, disaster areas, cranes interfering with flight paths and no-fly zones and search for unmanned mobile connected objects 110 even if there is no radio signal coverage or in situations when radio signals are inactive, such as during disasters or in emergency situations.

As shown in FIGS. 1 and 6, the system 100 for locating unmanned mobile connected objects 110, such as, but not limited to, unmanned aerial vehicles (UAVs) 120, such as, but not limited to drones, and unmanned ground vehicles (UGVs) 130 is disclosed. The system 100 may include a communications network 150. The communications network 150 of the system 100 may be configured to link each of the devices in the system 100 to one another. For example, the communications network 150 may be utilized to connect a command center 125 with one or more unmanned mobile connected objects 110. The command center 125 may be any component capable of performing the analyses discussed herein. In at least one device, the command center 125 may be a portion of the communications network 150. The command center 125 may be a standalone device, a first user device 160, a second user device 170, a server 190 or any other device. The communications network 150 may be utilized by a first user device 160 to connect with other devices within or outside communications network 150. Additionally, the communications network 150 may be configured to transmit, generate, and receive any information and data traversing the system 100. In certain embodiments, the communications network 150 may include any number of servers, databases, or other componentry, and may be controlled by a service provider. In certain embodiments, the communications network 150 may be subscribed to by a company, first and second users 162, 172, or a combination thereof. The communications network 150 may also include and be connected to a cloud-computing network, an IMS network, a VoIP network, a VoLTE network, a wireless network, an Ethernet network, a satellite network, a broadband network, a cellular network, a private network, a cable network, the Internet, an internet protocol network, a multiprotocol label switching (MPLS) network, a content distribution network, any network, or any combination thereof. Illustratively, one or more servers 190 is shown as being included within communications network 150. In certain embodiments, the server 150 may serve as an information server for processing information received from the unmanned mobile connected objects 110. In certain embodiments, the communications network 150 may be part of a single autonomous system that is located in a particular geographic region, or be part of multiple autonomous systems that span several geographic regions.

Notably, the functionality of the system 100 may be supported and executed by using any combination of one or more servers 190. As mentioned above, the server 190 may reside in communications network 150, however, in certain embodiments, the server 190 may reside outside communications network 150. As mentioned above, the server 190 may reside in a command center 125, however, in certain embodiments, the server 190 may reside outside command center 125. In certain embodiments, the server 190 may include a memory 191 that includes instructions, and a processor 192 that executes the instructions from the memory 191 to perform various operations that are performed by the server 190. The processor 192 may be hardware, software, or a combination thereof. In certain embodiments, the servers 190 may be network servers, routers, gateways, switches, media distribution hubs, signal transfer points, service control points, service switching points, firewalls, routers, edge devices, nodes, computers, mobile devices, or any other suitable computing device, or any combination thereof. In certain embodiments, the server 190 may be communicatively linked to the communications network 150, the command center 125, any network, any device in the system 100, or any combination thereof.

The database 200 of the system 100 may be utilized to store and relay information that traverses the system 100, cache content that traverses the system 100, store data about each of the devices in the system 100 and perform any other typical functions of a database. In certain embodiments, the database 200 may be connected to or reside within the communications network 150, the command center 125, any other network, or a combination thereof. In certain embodiments, the database 200 may serve as a central repository for any information associated with any of the devices and information associated with the system 100. Furthermore, the database 200 may include a processor and memory or be connected to a processor and memory to perform the various operation associated with the database 200. In certain embodiments, the database 200 may be connected to the unmanned mobile connected objects 110, the server 190, the first user device 160, the second user device 170, any devices in the system 100, any other device, any network, or any combination thereof.

The database 200 may also store information and metadata obtained from the system 100, store metadata and other information associated with the first and second users 162, 172, store user profiles associated with the first and second users 162, 172, store device profiles associated with any device in the system 100, store communications traversing the system 100, store user preferences, store information associated with any device or signal in the system 100, store information relating to patterns of usage relating to the first and second user devices 162, 172, store any information obtained from any of the networks in the system 100, store historical data associated with the first and second users 162, 172, store device characteristics, store history information for various types of items, products and services, store user purchase history information, store information relating to any devices associated with the first and second users 162, 172, store information associated with orders made in the system 100, store any information associated with the unmanned mobile connected objects 110, store inventory information associated with unmanned mobile connected objects 110, store any type of routing information, store any information generated and/or processed by the system 100, store any of the information disclosed for any of the operations and functions disclosed for the system 100 herewith, store any information traversing the system 100, or any combination thereof. Furthermore, the database 200 may be configured to process queries sent to it by any device in the system 100.

The system 100 may include one or more unmanned mobile connected objects 110, such as, but not limited to, an unmanned aerial vehicle 120, such as, but not limited to, a drone, and an unmanned ground vehicle 130. The unmanned aerial vehicle 120 may be any type of mobile connected device capable of flying. The unmanned aerial vehicle 120 may have any configuration enabling flight such as, but not limited to, permanent wings, foldable wings and rotary wings. For example, the unmanned aerial vehicle 120 may be capable of flying from a departure location to an intended destination and back to the departure location for a variety of purposes, including, but not limit to, delivering items, conducting surveillance, military operations, and capturing video or still images. The unmanned aerial vehicle 120 may include a memory 121 that includes instructions, and a processor 122 that executes the instructions from the memory 121 to perform the various operations that are performed by the unmanned aerial vehicle 120. In certain embodiments, the processor 122 may be hardware, software, or a combination thereof. The unmanned aerial vehicle 120 may include one or more transmitters, receivers, or transceivers, or any combination thereof necessary to establish communications with the communications network 150, the command center 125 and one or more other unmanned mobile connected objects 110 via the communications network 150, an ad hoc network 210, and any other means. The unmanned aerial vehicle 120 may also include a power source, which may be any type of power source including, but not limited to, a battery, a solar-powered power source, an electric power source, a magnetic-based power source, an inductive-based power source, any type of power source, or any combination thereof.

In certain embodiments, the unmanned ground vehicle 130 may be an unmanned terrestrial vehicle that is capable of traversing various types of land-based environments. The unmanned ground vehicle 130 may include a memory 131 that includes instructions, and a processor 132 that executes the instructions from the memory 131 to perform the various operations that are performed by the drone 130. In certain embodiments, the processor 132 may be hardware, software, or a combination thereof. The unmanned ground vehicle 130 may include one or more transmitters, receivers, or transceivers, or any combination thereof necessary to establish communications with the communications network 150, the command center 125 and one or more other unmanned mobile connected objects 110 via the communications network 150, an ad hoc network 210, and any other means. The unmanned ground vehicle 130 may also include a power source 133, which may be any type of power source including, but not limited to, a battery, a solar-powered power source, an electric power source, a magnetic-based power source, an inductive-based power source, any type of power source, or any combination thereof.

The system 150 may include a first user 162, who may utilize a first user device 160, as shown in FIG. 1, to access data, content, and services, or to perform a variety of other tasks and functions. As an example, the first user 162 may utilize first user device 160 to transmit signals to access various online services and content, such as those provided by a content provider or service provider associated with communications network 150. As another example, the first user 162 may utilize first user device 160 to obtain the current locations of unmanned mobile connected objects 110, obtain predictions of future locations of unmanned mobile connected objects 110, obtain predictions of collisions of unmanned mobile connected objects 110, obtain identifications of unpredictable variables, such as, but not limited to, plane crashes, disaster areas, cranes interfering with flight paths and no-fly zones and search for unmanned mobile connected objects 110 even if there is no radio signal coverage or in situations when radio signals are inactive, such as during disasters or in emergency situations. In certain embodiments, the first user 162 may be a subscriber of a service provider that controls communications network 150. The first user device 160 may include a memory 164 that includes instructions, and a processor 166 that executes the instructions from the memory 164 to perform the various operations that are performed by the first user device 160. In certain embodiments, the processor 166 may be hardware, software, or a combination thereof. In certain embodiments, the first user device 160 may be a computer, a laptop, a set-top-box, a tablet device, a phablet, a server, a mobile device, a smartphone, a smart watch, or any other type of computing device. In at least one embodiment, the first user device 160 may operate as a command center 125.

In addition to the first user 162, the system 100 may also include a second user 172, who may utilize a second user device 170, as shown in FIG. 1, to perform a variety of functions. For example, the second user device 170 may be utilized by the second user 172 to transmit signals to request various types of content, services, and data provided by content and service providers associated with the communications network 150 or any other network in the system 100. Also, the second user 172 may utilize second user device 170 to obtain the current locations of unmanned mobile connected objects 110, obtain predictions of future locations of unmanned mobile connected objects 110, obtain predictions of collisions of unmanned mobile connected objects 110, obtain identifications of unpredictable variables, such as, but not limited to, plane crashes, disaster areas, cranes interfering with flight paths and no-fly zones and search for unmanned mobile connected objects 110 even if there is no radio signal coverage or in situations when radio signals are inactive, such as during disasters or in emergency situations. In certain embodiments, the second user 172 may be a subscriber of a service provider that controls communications network 150. The second user device 170 may include a memory 174 that includes instructions, and a processor 176 that executes the instructions from the memory 174 to perform the various operations that are performed by the second user device 170. In certain embodiments, the processor 176 may be hardware, software, or a combination thereof. Similar to the first user device 160, in certain embodiments, the second user device 170 may be a computer, a laptop, a tablet device, a phablet, a server, a mobile device, a smartphone, a smart watch, or any other type of computing device. In at least one embodiment, the second user device 170 may operate as a command center 125.

In certain embodiments, the first user device 160 and the second user device 170 may have any number of software applications and/or application services stored and/or accessible thereon. For example, the first and second user devices 160, 170 may include cloud-based applications, VoIP applications, other types of phone-based applications, product-ordering applications, business applications, e-commerce applications, media streaming applications, content-based applications, media-editing applications, database applications, gaming applications, internet-based applications, browser applications, mobile applications, service-based applications, productivity applications, video applications, music applications, social media applications, any other type of applications, any types of application services, or a combination thereof. In certain embodiments, the software applications and services may include one or more graphical user interfaces so as to enable the first and second users 162, 172 to readily interact with the software applications. The software applications and services may also be utilized by the first and second users 162, 172 to interact with the any device in the system 100, any network in the system 100, or any combination thereof. In certain embodiments, the first user device 160 and the second user device 170 may include associated telephone numbers, device identities, or any other identifiers to uniquely identify the first and second user devices 160, 170.

In certain embodiments, the server 190 may also serve as a command center 125 for any number of unmanned mobile connected objects 110. In serving as the command center 125, the server 190 may be configured to receive various types of information from the unmanned mobile connected objects 110, such as, but not limited to, neighboring tables 140, as shown in FIG. 2, with information such as, but not limited to, name 220 of the unmanned mobile connected object 110, classification 222, status 224, geolocation 226, signal strength 228, route name, battery information (e.g. current battery level and/or charge level), drone lifespan information. Any of information received and/or generated by the server 190 as the command center 125 may be transmitted to any devices and/or networks in the system 100. For example, the neighboring tables 140 may be received by the server 190 in the network 150 from one or more of the unmanned mobile connected objects 110, and in certain embodiments, from each of the unmanned mobile connected objects 110. The server 190 may conduct numerous analyses, as set forth below, and the results may be communicated to the unmanned mobile connected objects 110.

While FIG. 1 illustrates one configuration of the various components of the system 100, the system 100 may include any configuration of the components, which may include using a greater or lesser number of the components. For example, the system 100 is illustratively shown as including a command center 125, a first user device 162, a second user device 170, an unmanned ground vehicle 130, a first unmanned aerial vehicle 180, a second unmanned aerial vehicle 182, a third unmanned aerial vehicle 184, a communications network 150, a first user device 160, a second user device 170, a server 190, a database 200, and an ad hoc communications network 210. However, the system 100 may include multiple command centers 125, multiple first user devices 162, multiple second user devices 170, multiple unmanned ground vehicles 130, multiple first unmanned aerial vehicles 180, multiple second unmanned aerial vehicles 182, multiple third unmanned aerial vehicles 184, multiple communications networks 150, multiple first user devices 160, multiple second user devices 170, multiple servers 190, multiple databases 200, and multiple an ad hoc communications networks 210, or any number of any of the other components inside or outside the system 100. Furthermore, in certain embodiments, substantial portions of the functionality and operations of the system 100 may be performed by other networks and systems that may be connected to system 100.

The system 100, via the command center 125, may be configured to manage the locations of one or more, and in some embodiments, thousands, of unmanned mobile connected objects 110, including, but not limited to, unmanned aerial vehicles 120 and unmanned ground vehicles 130. The system 100, via the command center 125, may manage the unmanned mobile connected objects 110 to ensure the safety of the unmanned mobile connected objects 110 and limit the loss of the unmanned mobile connected objects 110 to limit loss of capital. In at least one embodiment, the system 100 may be configured such that a first unmanned mobile connected object 110 includes memory 191 that stores instructions and a processor 192 that executes the instructions to perform operations. The operations may include receiving classification information associated with the first unmanned mobile connected object 110. The first unmanned mobile connected object 110 may populate fields in a neighboring table 140 of the first unmanned mobile connected object 110 with the information associated with a first unmanned mobile connected object 100. In particular, the first unmanned mobile connected object 110 may populate fields, such as, but not limited to, name 220 of the unmanned mobile connected object 110, classification 222, status 224, geolocation 226, signal strength 228, route name, battery information (e.g. current battery level and/or charge level), drone lifespan information. The first unmanned mobile connected object 110 may populate fields once within a specified time period. The information may be updated every time period so that the information contained within the neighboring table is accurate. The first unmanned mobile connected object 110 may send the neighboring table 140 with updates concerning the first unmanned mobile connected object 110 to the via the command center 125 via the communication network 150 and all other unmanned mobile connected objects 110 in communication with the communication network 150. For instance, the first unmanned mobile connected object 110 may transmit the neighboring table 140 to a second unmanned mobile connected object 110. Also, the first unmanned mobile connected object 110 may send the neighboring table 140 to other unmanned mobile connected objects 110 that are not in communication with the command center 125 via the primary communication network 150 via an ad hoc communications network 210.

The ad hoc communications network 210 may be established when any unmanned mobile connected object 110 is out of range of the primary communications network 150. In at least one embodiment, the ad hoc communications network 210 may be established via wireless communications between two or more unmanned mobile connected objects 110. The ad hoc communications network 210 may be formed with wireless communications directly between the unmanned mobile connected objects 110. The ad hoc communications network 210 may be formed with communications via any means possible, such as, but not limited to, any wireless communications systems. In certain embodiments, an ad hoc communication connection with a second unmanned mobile connected object 110 may be established with a first unmanned mobile connected object 110 if the second unmanned mobile connected object 110 shares a common classification of geographic area or capability with the first unmanned mobile connected object 110. The ad hoc communication network 210 with the second unmanned mobile connected object 110 may be established via ad hoc communications. The first unmanned mobile connected object 110 may receive an acknowledgement from the second unmanned mobile connected object 110 when the ad hoc communication connection is established. The unmanned mobile connected objects 110 may also communicate with each other via broadcasting requests to establish communications between each other.

The wireless communications from unmanned mobile connected object 110 to unmanned mobile connected object 110 forming the ad hoc communications network 210 may be configured such that each node is willing to forward data for other nodes, and so the determination of which nodes forward data is made dynamically based on the network connectivity. The ad hoc communications network 210 enables data, such as, but not limited to the, the neighboring tables 140 to be communicated to the command center 125 in communication with the primary communications network 150 even when the primary communications network 150 is not in contact with the unmanned mobile connected object 110. As such, when an unmanned mobile connected object 110 is out of range of the primary communications network 150, a neighboring table 140 from that unmanned mobile connected object 110 may be communicated to the command center 125 in communication with the primary communications network 150 by passing the neighboring table 140 through one or more unmanned mobile connected objects 110 in contact with the primary communications network 150. One or more components of the system 100, such as, but not limited to, the command center 125, may perform an analysis to determine which unmanned mobile connected object to use as a hop to expand range of the ad hoc communication 210 to connect with the network 150. In at least one embodiment, the command center 125 may analyze the strength of signals 228, geolocation 226, and classification 222 associated with each unmanned mobile connected object 110 on the neighboring table 140 to determine which unmanned mobile connected object 110 to use as a hop to expand range of the ad hoc communication 210 to connect with the network 150. The system 100 may use multiple hops until the communications network 150 establishes a communication path from an unmanned mobile connected object 110 to the command center 125 in the primary communications network 150.

While a first unmanned mobile connected object 110 transmits a neighboring table 140 to a second unmanned mobile connected object 110, the first unmanned mobile connected object 110 may receive a neighboring table 140 from the second unmanned mobile connected object 110. The first unmanned mobile connected object 110 may update the neighboring table with information associated with the first unmanned mobile connected object 110. In other embodiments, the second unmanned mobile connected object 110 may send information associated with the second unmanned mobile connected object 110 to the first unmanned mobile connected object 110, and the first unmanned mobile connected object 110 may populate the neighboring table 140 contained in the first unmanned mobile connected object 110. The updated neighboring table 140 may be stored in the first unmanned mobile connected object 110. The updated neighboring table 140 may also be sent to the server 190 in the primary communications network 150 and to the second unmanned mobile connected object 110 and other unmanned mobile connected objects 110.

The system 100 may be configured such that the command center 125 receives a neighboring table 140 from a first unmanned mobile connected object 110, whereby the neighboring table 140 includes information associated with the first unmanned mobile connected object 110 and a second unmanned mobile connected object 110. The command center 125 may create one or more predictions based upon the information in the neighboring table 140 associated with the first and second unmanned mobile connected objects 110. The command center 125 may be, but is not limited to, the first user device 160, the second user device 170, server 190 or any other device configured to perform an analysis of data received from the first and second unmanned mobile connected objects 110. The command center 125 may include a memory that stores instructions and a processor that executes the instructions to perform operations, as previously set forth for each of the devices listed above.

The command center 125 may receive one or more neighboring tables 140 from the first unmanned mobile connected object 110 within repetitive predetermined time intervals. The time interval may be, but is not limited to being, a fraction of a second, one second, 10 seconds, 30 seconds or longer. As such, the command center 125 may receive one or more neighboring tables 140 once within every time period. The time periods may remain constant or may fluctuate.

The command center 125 may create predictions based upon the information associated with a first unmanned mobile connected object 110. For example, and not by way of limitation, the command center 125 may include predicting a location of the first unmanned mobile connected object 110. If the first unmanned mobile connected object 110 is not in communication with the system, the command center 125 may predict a location of the first unmanned mobile connected object 110 based upon a last received neighboring table 140 from the first unmanned mobile connected object 110.

The system 100 may be configured such that an alert is generated if an unmanned mobile connected object 110 that was in communication with the system no longer communicates with the system 100 within the predetermined time interval indicating a potential loss of the unmanned mobile connected object 100. In at least one embodiment, if the unmanned mobile connected object 110 that was in communication with one or more of the other unmanned mobile connected objects 110, the primary communication network 150 or the server 190, no longer is in communication with these components, then an alert may be generated. In certain embodiments, the command center 125 may generate the alert. The alert may be sent to one or more user devices 160, 170, to the systems controlling the travel of the unmanned mobile connected objects and the like. The alert may be a visual alert such as, but not limited to a message, a blinking icon representing the unmanned mobile connected object 110 and the like.

The system 100 may also be configured such that the command center 125 searches information associated with a first unmanned mobile connected object 110 for unpredictable variables in the physical environment surrounding the first unmanned mobile connected object 110. In at least one embodiment, the information associated with a first unmanned mobile connected object 110 may be searched by the command center 125 that may be, but is not limited to, the first user device 160, the second user device 170, server 190 or any other device configured to perform an analysis of data received from the first unmanned mobile connected object 110. The command center 125 may search for any anomalies signifying one or more of air turbulence, a flock of birds, plane crashes, disaster areas, cranes interfering with flight paths, and the like. If the command center 125 identifies unpredictable variables in the physical environment surrounding the first unmanned mobile connected object 110, the command center may send notification to the first unmanned mobile connected object 110. Either the first unmanned mobile connected object 110 or the command center 125 may calculate a revised travel route based upon the unpredictable variables in the physical environment surrounding the first unmanned mobile connected object 110.

The system 100 may be configured such that one or more of the unmanned mobile connected objects 110 or the command center 125, or both, can calculate an optimal travel path based on routes traveled. The system 100 thus, may have a learning behavior associated with operations of the unmanned mobile connected objects 110. The unmanned mobile connected objects 110 or the command center 125, or both, may calculate optimal routes based on speed, time, and other factors.

The system 100 may be configured to create one or more predictions based upon the information in the neighboring table to determine whether the first and second unmanned mobile connected objects are on a collision path. In certain embodiments, the command center 125 may be configured to use neighboring tables to determine the flight paths and travel routes for each unmanned mobile connected object 110 in the system 100. As such, the command center plots where each unmanned mobile connected object 110 has been. Based upon this information, the command center 125 may predict whether any of the unmanned mobile connected objects 110 will collide. If a collision is predicted, the command center 125 may inform the control operations of the unmanned mobile connected objects 110 of such prediction or alter the flight paths and travel routes of the unmanned mobile connected objects 110 predicted to collide.

The command center 125 may generate a graphical representation, as shown in FIG. 7, of the positions of the unmanned mobile connected objects 110. In certain embodiments, the command center 125 may generate a plot of each unmanned mobile connected object 110. The plot may be as simplistic as simply a schematic diagram of the location of each unmanned mobile connected object 110. The command center 125 may generate a display of each unmanned mobile connected object 110 together with paths already traveled and include projected future travel paths denoted differently than past travel paths. The display may be a two-dimensional representation, a three dimensional representation or other. The command center 125 may generating a map with locations of the first and second unmanned mobile connected objects 110 with predicted travel paths.

The system 100 may be configured such that the plot of each unmanned mobile connected object 110 includes a reference point 240. The reference point 240 enables the graphical representation generated by the command center 125 to be positioned relative to other graphical representations. The system 100 may be configured, as shown in FIG. 6, such that the command center 125 can group unmanned mobile connected objects 110 into virtual groups 250. The system 100 may create virtual dynamic clouds for the groups of unmanned mobile connected objects 110. The virtual groups 250 of unmanned mobile connected objects 110 may include dynamic storage clouds, which may include all storage devices of the unmanned mobile connected objects 110 in the virtual group.

The system 100 may be configured such that the system may resynchronize with the one or more unmanned mobile connected objects 110. In particular, the system 100 may use an unmanned mobile connected object 110 to resynchronize with other unmanned mobile connected objects 110. The system 100 may be configured such that one of the unmanned mobile connected objects 110 is a master unmanned mobile connected object 110 and the remaining unmanned mobile connected objects 110 are slave unmanned mobile connected objects 110. The master unmanned mobile connected object 110 may synchronize with the slave unmanned mobile connected objects 110 associated with the master unmanned mobile connected object 110. When an unmanned mobile connected object 110 moves away from one reference point 240 and closer to another reference point 240, the system 100, such as the command center 125, may associate that unmanned mobile connected object 110 with the reference point 240 that is closer to the unmanned mobile connected object 110. As such, the unmanned mobile connected object 110 may resynchronize with the other unmanned mobile connected objects 110 synchronized to the closer reference point 240.

The system 100 may also be configured to search local available unmanned mobile connected objects 110 based upon current geolocations of the unmanned mobile connected objects 110. Local available unmanned mobile connected objects 110 may be those unmanned mobile connected objects 110 that are within communications range of the primary communications network 150. The system 100 may also be configured to search local available unmanned mobile connected objects 110 based upon predicted geolocations of the unmanned mobile connected objects 110.

A method 300 of using the system 100, as shown in FIG. 3, for locating unmanned mobile connected objects 110, such as, but not limited to, unmanned aerial vehicles (UAVs) 120, such as, but not limited to drones, and unmanned ground vehicles (UGVs) 130 is disclosed. The method 300 may include receiving at 310 a neighboring table 140 from a first unmanned mobile connected object 110, whereby the neighboring table 140 includes information associated with the first unmanned mobile connected object 110 and a second unmanned mobile connected object 110. The method 300 may include creating at 320 one or more predictions based upon the information in the neighboring table 140 associated with the first and second unmanned mobile connected objects. The step of creating at 320 the prediction based upon the information in the neighboring table includes determining whether the first and second unmanned mobile connected objects are on a collision path at 325.

The step of receiving at 310 the neighboring table 140 from the first unmanned mobile connected object 110 includes receiving the neighboring table 140 from the first unmanned mobile connected object 110 within repetitive predetermined time intervals. The step of creating predictions at 320 based upon the first information associated with a first unmanned mobile connected object 110 includes predicting a location of the first unmanned mobile connected object. If the first unmanned mobile connected object 110 is not in communication with the primary communications network 150, predicting a location of the first unmanned mobile connected object 110 is based upon a last received neighboring table 140 from the first unmanned mobile connected object.

The method 300 may also include generating an alert at 330 if an unmanned mobile connected object 110 that was in communication with the system 100 no longer communicates with the system 100 within the predetermined time interval indicating a potential loss of the unmanned mobile connected object 110. The method 300 may also include searching the information at 340 associated with a first unmanned mobile connected object 110 for unpredictable variables in the physical environment surrounding the first unmanned mobile connected object 110. The method 300 may also include searching at 350 local available unmanned mobile connected objects 110 based upon current geolocations. The method 300 may also include searching at 360 local available unmanned mobile connected objects based upon predicted geolocations. The method 300 may also include generating a map at 360 with locations of the first and second unmanned mobile connected objects 110 with predicted travel paths.

A method 400 of using the system 100, as shown in FIG. 4, for locating unmanned mobile connected objects 110, such as, but not limited to, unmanned aerial vehicles (UAVs) 120, such as, but not limited to drones, and unmanned ground vehicles (UGVs) 130 is disclosed. The method 400 may include a first unmanned mobile connected object 110 receiving at 410 classification information associated with the first unmanned mobile connected object 110. The method 400 may include populating fields at 420 in a neighboring table 140 of the first unmanned mobile connected object 110 with the information associated with the first unmanned mobile connected object 110. The method 400 may include transmitting at 430 the neighboring table 140 to a second unmanned mobile connected object 110. The method 400 may include receiving classification information at 440 associated with the second unmanned mobile connected object 110 to populate the neighboring table 140.

The method 400 may also include receiving classification information at 410 associated with the first unmanned mobile connected object 110 including, but not limited to, name, classification, status, geolocation and signal strength. The method 400 may also include populating the neighboring table 140 at 450 in the first unmanned mobile connected object 110 with the information associated with the second unmanned mobile connected object 110. The method 400 may also include transmitting at 460 the neighboring table 140 to a command center 125. The method 400 may also include determining at 460 whether a primary communication path exists between the first unmanned mobile connected object 110 and a network 150, and if a primary connection does not exist between the first unmanned mobile connected object 110 and the network 150, establishing an ad hoc communication connection with the second unmanned mobile connected object 110. The step of establishing an ad hoc communication connection at 460 may also include establishing an ad hoc communication connection with the second unmanned mobile connected object 110 if the second unmanned mobile connected object 110 shares a common classification of geographic area or capability with the first unmanned mobile connected object 110. The step of establishing an ad hoc communication connection at 460 may also include establishing an ad hoc communication connection with the second unmanned mobile connected object 110 via broadcasting requests to establish an ad hoc communication connection with the second unmanned mobile connected object 110. The method 400 may also include receiving an acknowledgement at 470 from the second unmanned mobile connected object 110 when the ad hoc communication connection is established. The method 400 may also include analyzing 480 the second unmanned mobile connected object 110 and a third unmanned mobile connected object 110 via the ad hoc communication to determine which to use as a hop to expand range of the ad hoc communication to connect with the network 150.

As shown in FIG. 5, at least a portion of the methodologies and techniques described with respect to the exemplary embodiments of the system 100 can incorporate a machine, such as, but not limited to, computer system 500, or other computing device within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies or functions discussed above. The machine may be configured to facilitate various operations conducted by the system 100. For example, the machine may be configured to, but is not limited to, assist the system 100 by providing processing power to assist with processing loads experienced in the system 100, by providing storage capacity for storing instructions or data traversing the system 100, or by assisting with any other operations conducted by or within the system 100.

In some embodiments, the machine may operate as a standalone device. In some embodiments, the machine may be connected (e.g., using communications network 150, another network, or a combination thereof) to and assist with operations performed by other machines and systems, such as, but not limited to, a command center 125, a first user device 162, a second user device 170, an unmanned ground vehicle 130, a first unmanned aerial vehicle 180, a second unmanned aerial vehicle 182, a third unmanned aerial vehicle 184, a communications network 150, a first user device 160, a second user device 170, a server 190, a database 200, and an ad hoc communications network 210, or any combination thereof. The machine may be connected with any component in the system 100. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in a server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The computer system 500 may include a processor 502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 504 and a static memory 506, which communicate with each other via a bus 508. The computer system 500 may further include a video display unit 510, which may be, but is not limited to, a liquid crystal display (LCD), a flat panel, a solid state display, or a cathode ray tube (CRT). The computer system 500 may include an input device 512, such as, but not limited to, a keyboard, a cursor control device 514, such as, but not limited to, a mouse, a disk drive unit 516, a signal generation device 518, such as, but not limited to, a speaker or remote control, and a network interface device 520.

The disk drive unit 516 may include a machine-readable medium 522 on which is stored one or more sets of instructions 524, such as, but not limited to, software embodying any one or more of the methodologies or functions described herein, including those methods illustrated above. The instructions 524 may also reside, completely or at least partially, within the main memory 504, the static memory 506, or within the processor 502, or a combination thereof, during execution thereof by the computer system 500. The main memory 504 and the processor 502 also may constitute machine-readable media.

Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.

In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.

The present disclosure contemplates a machine-readable medium 522 containing instructions 524 so that a device connected to the communications network 150, another network, or a combination thereof, can send or receive voice, video or data, and communicate over the communications network 150, another network, or a combination thereof, using the instructions. The instructions 524 may further be transmitted or received over the communications network 150, another network, or a combination thereof, via the network interface device 520. The machine-readable medium 522 may including instructions, which when executed by a processor, cause the processor to perform operations. The operations may include receiving a neighboring table 140 from a first unmanned mobile connected object. The neighboring table 140 may include information associated with the first unmanned mobile connected object 110 and a second unmanned mobile connected object 110. The operations may include creating one or more predictions based upon the information in the neighboring table associated with the first and second unmanned mobile connected objects 110. The machine-readable medium 522 may including instructions as set forth in the various methods above and other aspects disclosed above.

While the machine-readable medium 522 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present disclosure.

The terms “machine-readable medium,” “machine-readable device,” or “computer-readable device” shall accordingly be taken to include, but not be limited to: memory devices, solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape; or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. The “machine-readable medium,” “machine-readable device,” or “computer-readable device” may be non-transitory, and, in certain embodiments, may not include a wave or signal per se. Accordingly, the disclosure is considered to include any one or more of a machine-readable medium or a distribution medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.

The illustrations of arrangements described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Other arrangements may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. The figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

The foregoing is provided for purposes of illustrating, explaining, and describing embodiments of this invention. Modifications and adaptations to these embodiments will be apparent to those skilled in the art and may be made without departing from the scope or spirit of this invention. 

We claim:
 1. A system comprising: memory for storing computer instructions; and one or more processors coupled with the memory, wherein the one or more processors, responsive to executing the computer instructions, perform operations comprising: receiving information associated with a first unmanned mobile connected object; identifying, based on a search of the information associated with the first unmanned mobile connected object, one or more unpredictable variables in a physical environment surrounding the first unmanned mobile connected object; calculating a revised travel route based on the one or more unpredictable variables in the physical environment surrounding the first unmanned mobile connected object; and transmitting the revised travel route to the first unmanned mobile connected object.
 2. The system of claim 1, wherein the information associated with the first unmanned mobile connected object is searched by a user device.
 3. The system of claim 1, wherein the one or more processors, responsive to executing the computer instructions, perform operations comprising searching the information associated with the first unmanned mobile connected object for one or more anomalies.
 4. The system of claim 3, wherein the one or more anomalies are selected from the group consisting of air turbulence, a flock of birds, a plane crash, a disaster area, and an interference with a flight path.
 5. The system of claim 1, wherein the one or more processors, responsive to executing the computer instructions, perform operations comprising sending, in response to the identification of the one or more unpredictable variables, a notification to the first unmanned mobile connected object.
 6. The system of claim 1, wherein the one or more processors, responsive to executing the computer instructions, perform operations comprising optimizing the revised travel route.
 7. The system of claim 6, wherein the revised travel route is optimized based on one or more previously traveled routes.
 8. The system of claim 1, wherein the one or more processors, responsive to executing the computer instructions, perform operations comprising transmitting the revised travel route to a second unmanned mobile connected object.
 9. A method comprising: receiving, by a processor, information associated with a first unmanned mobile connected object; identifying, based on a search of the information associated with the first unmanned mobile connected object, one or more unpredictable variables in a physical environment surrounding the first unmanned mobile connected object; calculating, by the processor, a revised travel route based on the one or more unpredictable variables in the physical environment surrounding the first unmanned mobile connected object; and transmitting, by the processor, the revised travel route to the first unmanned mobile connected object.
 10. The method of claim 9, wherein the information associated with the first unmanned mobile connected object is searched by a user device.
 11. The method of claim 9, further comprising searching the information associated with the first unmanned mobile connected object for one or more anomalies.
 12. The method of claim 11, wherein the one or more anomalies are selected from the group consisting of air turbulence, a flock of birds, a plane crash, a disaster area, and an interference with a flight path.
 13. The method of claim 9, further comprising sending, in response to the identification of the one or more unpredictable variables, a notification to the first unmanned mobile connected object.
 14. The method of claim 9, further comprising optimizing the revised travel route.
 15. The method of claim 14, wherein the revised travel route is optimized based on one or more previously traveled routes.
 16. The method of claim 9, further comprising transmitting the revised travel route to a second unmanned mobile connected object.
 17. A tangible computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to perform a method comprising: receiving information associated with a first unmanned mobile connected object; identifying, based on a search of the information associated with the first unmanned mobile connected object, one or more unpredictable variables in a physical environment surrounding the first unmanned mobile connected object; calculating a revised travel route based on the one or more unpredictable variables in the physical environment surrounding the first unmanned mobile connected object; and transmitting the revised travel route to the first unmanned mobile connected object.
 18. The tangible computer-readable medium of claim 17, wherein the information associated with the first unmanned mobile connected object is searched by a user device.
 19. The tangible computer-readable medium of claim 17, wherein the instructions are further configured to cause the computer to perform operations comprising searching the information associated with the first unmanned mobile connected object for one or more anomalies.
 20. The tangible computer-readable medium of claim 19, wherein the one or more anomalies are selected from the group consisting of air turbulence, a flock of birds, a plane crash, a disaster area, and an interference with a flight path. 